from typing import List

# https://leetcode.cn/problems/image-smoother/

class Solution:
    def 平滑图像(self, 图片: List[List[int]]) -> List[List[int]]:
        行数, 列数 = len(图片), len(图片[0])
        输出 = [[0] * 列数 for 每个 in range(行数)]
        for 所在行 in range(行数):
            for 所在列 in range(列数):
                总和 = 格数 = 0
                for 小格内行 in range(所在行 - 1, 所在行 + 2):
                    for 小格内列 in range(所在列 - 1, 所在列 + 2):
                        if 0 <= 小格内行 < 行数 and 0 <= 小格内列 < 列数:
                            格数 += 1
                            总和 += 图片[小格内行][小格内列]
                输出[所在行][所在列] = 总和 // 格数
        return 输出


方案 = Solution()
assert 方案.平滑图像(
    [[1,1,1],
     [1,0,1],
     [1,1,1]]) \
    == [[0, 0, 0],
        [0, 0, 0],
        [0, 0, 0]]
assert 方案.平滑图像(
    [[100,200,100],
     [200,50,200],
     [100,200,100]]) \
    == [[137,141,137],
        [141,138,141],
        [137,141,137]]